﻿using S.Common.Enums.Archives;

namespace S.EliminationOrDath.API.Dtos
{
    /// <summary>
    /// 羊只档案
    /// </summary>
    public class SheepTypeDto
    {
            /// <summary>
            /// 羊只档案Id
            /// </summary>

            public int SheepFileId { get; set; }

            /// <summary>
            /// 可视耳号
            /// </summary>
            /// 



            public string EarTag { get; set; }
            /// <summary>
            /// 转舍时间
            /// </summary>
            public DateTime SurrenderDate { get; set; }
            /// <summary>
            /// 电子耳标号
            /// </summary>

            public string EITag { get; set; }
            /// <summary>
            /// 父耳号
            /// </summary>

            public string ParentEarTag { get; set; }
            /// <summary>
            /// 母耳号
            /// </summary>

            public string MotherEarTag { get; set; }
            /// <summary>
            /// 品种
            /// </summary>

            public VarietyEnum Variety { get; set; }
            public string VarietyLabel { get { return Variety.ToString(); } }

            /// <summary>
            /// 性别
            /// </summary>

            public int Sex { get; set; }
            /// <summary>
            /// 出生日期
            /// </summary>

            public DateTime BirthDate { get; set; }
            /// <summary>
            /// 入场日期
            /// </summary>

            public DateTime AdmissionDate { get; set; }
            /// <summary>
            /// 日龄
            /// </summary>

            public int Dayage { get; set; }
            /// <summary>
            /// 月龄
            /// </summary>

            public int MonthAge { get; set; }
            /// <summary>
            /// 在场状态
            /// </summary>

            public PresenceStateEnum PresenceState { get; set; }
            public string PresenceStateLabel { get { return PresenceState.ToString(); } }


            /// <summary>
            /// 生长阶段
            /// </summary>

            public GrowthStageEnum GrowthStage { get; set; }
            public string GrowthStageLabel { get { return GrowthStage.ToString(); } }

            /// <summary>
            /// 羊只类型
            /// </summary>

            public SheepType SheepType { get; set; }
            public string SheepTypeLabel { get { return SheepType.ToString(); } }

            /// <summary>
            /// 栋舍
            /// </summary>

            public string BuildingName { get; set; }
            /// <summary>
            /// 栏位
            /// </summary>

            public string ColumnName { get; set; }
            /// <summary>
            /// 繁殖状态
            /// </summary>

            public ReproductiveStateEnum ReproductiveState { get; set; }
            public string ReproductiveStateLabel { get { return ReproductiveState.ToString(); } }
            /// <summary>
            /// 繁殖状态开始日期
            /// </summary>
            public DateTime? ReproductiveStateDate { get; set; }

            /// <summary>
            /// 流转繁殖状态
            /// </summary>
            public WanderReproductiveStateEnum WanderReproductiveState { get; set; }
            public string? WanderReproductiveStateLabel { get { return WanderReproductiveState.ToString(); } }


            /// <summary>
            /// 是否妊检
            /// </summary>

            public int IsPregnancy { get; set; }
            /// <summary>
            /// 状态天数
            /// </summary>

            public int StateDays { get; set; }
            /// <summary>
            /// 生产等级
            /// </summary>

            public ProductionRankEnum ProductionRank { get; set; }
            public string ProductionRankLabel { get { return ProductionRank.ToString(); } }

            /// <summary>
            /// 销售等级
            /// </summary>

            public SalesRankEnum SalesRank { get; set; }

            public string SalesRankLabel { get { return SalesRank.ToString(); } }
            /// <summary>
            /// 基因等级
            /// </summary>

            public GeneRankEnum GeneRank { get; set; }
            public string GeneRankLabel { get { return GeneRank.ToString(); } }

            /// <summary>
            /// 出生重
            /// </summary>

            public decimal BirthWeight { get; set; }
            /// <summary>
            /// 断奶重
            /// </summary>

            public decimal WeaningWeight { get; set; }
            /// <summary>
            /// 断奶日期
            /// </summary>
            public DateTime WeaningDate { get; set; }
            /// <summary>
            /// 断奶日龄
            /// </summary>

            public int WeaningAge { get; set; }
            /// <summary>
            /// 备注
            /// </summary>

            public string Remarks { get; set; }
            /// <summary>
            /// 出生场地
            /// </summary>

            public string BirthPlace { get; set; }
            /// <summary>
            /// 出生状态
            /// </summary>

            public int BirthState { get; set; }
            /// <summary>
            /// 当前胎次
            /// </summary>

            public int CurrentParity { get; set; }
            /// <summary>
            /// 配种序号(种母配种主键Id)
            /// </summary>

            public int BreedId { get; set; }
            /// <summary>
            /// 繁殖方式
            /// </summary>

            public int ModeofReproduction { get; set; }
            /// <summary>
            /// 同胎数
            /// </summary>

            public int NumberofIdenticalBirths { get; set; }
            /// <summary>
            /// 是否售卖
            /// </summary>

            public bool IsSell { get; set; }
            /// <summary>
            /// 售卖价格
            /// </summary>

            public decimal SellingPrice { get; set; }
            /// <summary>
            /// 是否转种
            /// </summary>

            public bool IsTransplanting { get; set; }
            /// <summary>
            /// 检测状态
            /// </summary>

            public int DetectionState { get; set; }
            /// <summary>
            /// 检测是否合格
            /// </summary>

            public bool IsQualified { get; set; }
            /// <summary>
            /// 创建人
            /// </summary>

            public string CreateBy { get; set; }
            /// <summary>
            /// 创建时间
            /// </summary>

            public DateTime CreateDate { get; set; }
            /// <summary>
            /// 修改人
            /// </summary>

            public string UpdateBy { get; set; }
            /// <summary>
            /// 修改时间
            /// </summary>

            public DateTime UpdateDate { get; set; }
            /// <summary>
            /// 档案类型
            /// </summary>
            public int? FileType { get; set; }

    }
}
